import { getMsg, udpateMsgState, insertMsg } from '@/services/message.js'
import { binMsg } from '@/global/api.js'
import { findIsHadUnReadMsg } from '@/services/message.js'

const messageModule = {
  namespaced: true,
  state() {
    return {
      msgList: [],
    }
  },

  mutations: {
    // 更改聊天信息
    changeMessage(state, msg) {
      state.msgList = msg
    },
    // 添加消息
    addMsg(state, msg) {
      state.msgList.push(msg)
    }

  },

  actions: {
    // 获取聊天信息
    async getMessage({commit}, payload) {
      const { data: res } = await getMsg(payload.uid, payload.fid, payload.page_num)
      if (res.meta.status !== 200) {
        // return binMsg('warning', res.meta.msg)
        return 
      }
      // console.log(res.data);
      commit('changeMessage', res.data.list)
    },


    // 后端更新消息状态为已读
    async updateMsgState({ commit }, payload) {
      // console.log(payload);
      const { data: res } = await udpateMsgState(payload.uid, payload.fid)
      // console.log(res)
    },

    // 将消息存入数据库
    async insertMsg({ commit }, payload) {
      commit('addMsg', payload) // 添加消息到聊天列表
      insertMsg(payload)        // 发起请求将消息保存到数据库
    },

    // 查询是否存在未读消息
    // async findIsHadUnRead({ commit }, payload) {
    //   const { data: { data: res } } = await findIsHadUnReadMsg(payload.uid)
    //   commit('changeIsUnRead', res.data > 0 ? true : false)
    // }
  },

  getters: {
  }


}

export default messageModule
